跳转到内容

tail (Unix)

本页使用了标题或全文手工转换
维基百科,自由的百科全书

tail
開發者多個开放源码商业开发者
操作系统Unix, Unix-like, Plan 9, Inferno, MSX-DOS, FreeDOS
平台跨平臺
类型指令
许可协议Plan 9: Lucent Public License or GPLv2
coreutils: GPL 3.0+

tailUnix类Unix系统FreeDOSMSX-DOS英语MSX-DOS上的一个程序,用于显示文本文件或管道数据的尾部。

實作

[编辑]

FreeDOS版本是由M.Aitchison开发的。[1]

tail命令也是ASCII的MSX-DOS版本2的MSX-DOS2工具的一部分。[2]

pctail是使用Python編寫的,可以对syslog的尾部进行着色並輸出。[3]

MultiTail不仅可以用颜色显示日志文件,还可以对一个终端窗口进行合并、过滤、回滚和分割成子窗口[4],它多少是tail、sed、watch、CCZE/pctail、grep、diff、Beeper等的组合。

用法

[编辑]

命令语法是:

tail [options] <filename>

默认情况下,tail会将其输入的最后10行输出到标准输出。通过命令行选项,可以改变输出量和单位(行、块或字节)。

> tail -n1 report-13*
==> report-1301 <==
Total tons output for month of January '13 was 523

==> report-1302 <==
Total tons output for month of February '13 was 272

==> report-1303 <==
Total tons output for month of March '13 was 623

这个例子输出了报告的最后4个字符,並使用--slient禁止了文件名的顯示。请注意,计数包括每行末尾的换行符,因此输出的结果并不包括预期的前导空格。

> tail --silent -c4 report*
523
272
623

这个例子显示了从第二行开始的所有行。

tail -n +2 report

使用旧的语法(在Sun Solaris的旧版本中仍然使用,因为不支持-n选项),最后20行和最后50个字节的文件名可以用以下命令显示。

tail -20 filename
tail -50c filename

然而这种语法现在已经过时了,不符合POSIX 1003.1-2001标准。即使在当前的版本中仍然支持,当与其他选项(如 -f,见下文)一起使用时,这些选项可能根本无法工作。

与所有的Unix命令一样,使用系统上的手册页来获取特定的选项和操作。

文件监控

[编辑]

tail有两个特殊的命令行选项:「-f」和「-F」(follow),允许监视一个文件。tail不是只显示最后几行然后退出,而是显示这些行,然后监视文件。当其他进程向文件中添加新行时,tail会更新显示。这对于监控日志文件特别有用。古老版本的tail默认每秒钟轮询一次文件,但GNU核心工具组 7.5版本的tail支持2005年8月Linux内核2.6.13版本中引入的inotify基础架构,只有当内核通知文件发生变化时才会检查文件。

下面的命令将显示最后10行信息,并在信息中添加新行时追加新行。

tail -f /var/adm/messages

为了保持跟踪日志,即使它被重新创建、重命名或作为日志轮换的一部分被删除,至少BSD和GNU的实现提供了一个-F选项,这在用户跟踪一个会轮换的日志文件时很有用。

tail -F /var/adm/messages

要在tail监控时中断它,用Ctrl+C中斷。

有一个GNU Emacs的模式可以模拟tail -f的功能,称为auto-revert-tail-mode。

參見

[编辑]

參考來源

[编辑]
  1. ^ ibiblio.org FreeDOS Package -- tail (Unix-like). www.ibiblio.org. [2021-03-16]. (原始内容存档于2019-03-02) (英语). 
  2. ^ MSX-DOS2 Tools User's Manual - MSX-DOS2 TOOLS ユーザーズマニュアル. April 1, 1993 –通过Internet Archive (jp). 
  3. ^ pctail. SourceForge. [2021-03-16]. (原始内容存档于2021-02-04) (英语). 
  4. ^ Kalsi, Tajinder. Practical Linux Security Cookbook. Packt Publishing Ltd. 2016: 234–236 [22 September 2017]. ISBN 9781785285301 (英语). 

外部鏈接

[编辑]